CXX	  := g++
CXXFLAGS  := -g -O3 -fno-stack-protector 
OBJDIR	  := build
LDLIBS    := -lrt -Wl,-Ttext-segment=0x600000

FILES_C   := $(wildcard *.c)
FILES_OBJ := $(FILES_C:%.c=$(OBJDIR)/%.o)

$(OBJDIR)/%.o: %.c
	@mkdir -p $(@D)
	$(CXX) $(CXXFLAGS) -MMD -c -o $@ $<

.PHONY: all clean

all: hello

hello: $(FILES_OBJ)
	@mkdir -p $(@D)
	$(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $(OBJDIR)/$@
	@cp $(OBJDIR)/$@ .
	
clean:
	rm -rf hello $(OBJDIR)
	
